/**
 * 抵用券流水管理
 */
var queryVoucherPaymentsSearch = function() {
	var queryVoucherPaymentsFieldSet = new Ext.form.FieldSet({
		id : 'queryVoucherPaymentsFieldSet',
		title : '查询条件',
		collapsible : true,// 可折叠
		buttonAlign : 'center',
		keys : [{
					key : 13, // 13代表回车
					fn : queryVoucherPayments,
					scope : this
				}],
		items : [{
			layout : 'column',
			border : false,
			items : [{
						columnWidth : .25,
						layout : 'form',
						border : false,
						items : [{
									xtype : 'textfield',
									anchor : '100%',
									fieldLabel : '抵用券订单编码',
									name : "voucherCode"
								}]
					}, {
						columnWidth : .25,
						layout : 'form',
						border : false,
						items : [{
									xtype : 'localcommonbox',
									anchor : '100%',
									fieldLabel : '支付状态',
									hiddenName : 'payStatus',
									loaclarr : [['1', '成功'], ['0', '失败'],
											['', '全部']]
								}]
					}, {
						columnWidth : .25,
						layout : 'form',
						border : false,
						items : [{
									xtype : 'localcommonbox',
									anchor : '100%',
									fieldLabel : '支付方式',
									hiddenName : 'payWays',
									loaclarr : [['0', '微信'], ['1', '支付宝'],
											['', '全部']],
									value : 0
								}]
					}]
		}, {
			layout : 'column',
			border : false,
			items : [{
						columnWidth : .25,
						layout : 'form',
						border : false,
						items : [{
							layout : 'column',
							border : false,
							items : [{
										text : '查询',
										xtype : 'button',
										width : 70,
										handler : function() {
											queryVoucherPayments();
										},
										style : {
											marginLeft : "10px",
											marginRight : "10px"
										}
									}, {
										text : '重置',
										xtype : 'button',
										width : 70,
										handler : function() {
											queryVoucherPaymentsForm.getForm().reset();
										}
									}]
						}]
					}]
		}]
	});
	fieldSetListeners(['queryVoucherPaymentsFieldSet', 'queryVoucherPaymentsForm',
					'voucherPaymentManagerGrid'], [0.18, 0.82]);

	var queryVoucherPaymentsForm = new Ext.form.FormPanel({
				id : 'queryVoucherPaymentsForm',
				anchor : '100% 18%',
				frame : true,
				labelAlign : 'right',
				bodyBorder : false,
				items : [queryVoucherPaymentsFieldSet]
			});
	return queryVoucherPaymentsForm;
};

/**
 * grids
 */
var voucherPaymentManagerGrid = function() {
	// 定义表的每列（对应表头信息）
	var paymentManagerCm = new Ext.grid.ColumnModel([
			new Ext.bisou.ResaleRowNumber({
						header : '序号',
						width : 40
					}), {
				dataIndex : "userId",
				header : "用户ID",
				sortable : true,
				width : 70
			}, {
				dataIndex : "userName",
				header : "用户名",
				sortable : true,
				width : 70
			},{
				dataIndex : "voucherOrdersID",
				header : "抵用券订单编号",
				sortable : true,
				width : 70
			}, {
				dataIndex : "voucherCode",
				header : "抵用券订单编码",
				sortable : true,
				width : 160,
				renderer : function(value, meta, record) {
					if (value) {
						meta.attr = 'ext:qtitle="抵用券订单编码:" ext:qtip="' + value
								+ '"';
						return value;
					}
				}
			}, {
				dataIndex : "id",
				header : "支付流水号",
				sortable : true,
				width : 70
			}, {
				dataIndex : "payNo",
				header : "支付单号",
				sortable : true,
				width : 220,
				renderer : function(value, meta, record) {
					if (value) {
						meta.attr = 'ext:qtitle="支付单号:" ext:qtip="' + value
								+ '"';
						return value;
					}
				}
			}, {
				dataIndex : "totalAmount",
				header : "订单金额",
				sortable : true,
				width : 70,
				renderer : function(value) {
					return PmsUtil.Price(value);
				}
			}, {
				dataIndex : "payStatus",
				header : "支付状态",
				sortable : true,
				width : 70,
				renderer : function(value) {
					return PmsUtil.PayStatus(value);
				}
			}, {
				dataIndex : "payWays",
				header : "支付方式",
				sortable : true,
				width : 70,
				renderer : function(value) {
					return PmsUtil.PayType(value);
				}
			}, {
				dataIndex : "payDate",
				header : "支付时间",
				sortable : true,
				width : 130
			}, {
				dataIndex : "remark",
				header : "备注",
				sortable : true,
				width : 70,
				renderer : function(value, meta, record) {
					if (value) {
						meta.attr = 'ext:qtitle="备注:" ext:qtip="' + value + '"';
						return value;
					}
				}
			}]);

	// 定义分析器
	var paymentManagerReader = new Ext.data.JsonReader({
				totalProperty : "totalCount",
				root : "list",
				fields : [{
							name : "userId"
						}, {
							name : "userName"
						}, {
							name : "voucherOrdersID"
						}, {
							name : "voucherCode"
						}, {
							name : "id"
						}, {
							name : "payNo"
						}, {
							name : "totalAmount"
						}, {
							name : "payStatus"
						}, {
							name : "payWays"
						}, {
							name : "remark"
						}, {
							name : "payDate"
						}]
			});

	// 取数据store
	var paymentViewStore = new Ext.data.Store({
				autoLoad : true,// 要加载数据必须设置为true
				proxy : new Ext.data.HttpProxy({
							url : __ctxPath + "/voucherManager/selectVoucherPayments"
						}),
				remoteSort : true,
				baseParams : {
					start : 0,
					limit : 25
				},
				listeners : {
					beforeload : {
						fn : function(thiz, options) {
							Ext.apply(thiz.baseParams, Ext
											.getCmp('queryVoucherPaymentsForm')
											.getForm().getValues());
						}
					}
				},
				reader : paymentManagerReader
			});
	paymentViewStore.addListener('load', function() {
				if (paymentViewStore.getCount() > 0) {
					var grid = Ext.getCmp('voucherPaymentManagerGrid')
					var totalAmountAll = 0.00;
					var gridrange = paymentViewStore.getRange();
					for (var i = 0; i < gridrange.length; i++) {
						var tmp = gridrange[i];
						var totalAmount = tmp.get("totalAmount");
						if (totalAmount != null && totalAmount != 'undefined') {
							totalAmountAll += totalAmount
						}
					}
					var recordType = paymentViewStore.recordType;
					var data = new recordType({
								totalAmount : totalAmountAll
							});
					paymentViewStore.insert(paymentViewStore.getCount(), data);
					paymentViewStore.sort();
					grid.getView().refresh();
				}
			});
	// 定义grid的toolbar
	var voucherPaymentTb = new Ext.Toolbar({
				id : "voucherPaymentTb",
				height : 25,
				items : []
			});
	voucherPaymentTb.add(new Ext.scm.Button({
				text : "刷 新",
				iconCls : "btn-refresh",
				hsValue : 'voucherPaymentManager_刷新',
				width : 80,
				pressed : true,
				handler : function() {
					queryVoucherPayments();
				}
			}));

	var voucherPaymentManagerGrid = new Ext.grid.GridPanel({
				id : 'voucherPaymentManagerGrid',
				store : paymentViewStore,
				cm : paymentManagerCm,
				autoScroll : true,
				loadMask : true,
				stripeRows : true,
				columnLines : true,
				loadMask : {
					msg : "正在加载数据，请稍侯……"
				},
				viewConfig : {
					emptyText : '没有您想要的数据!'
				},
				anchor : '100% 82%',
				frame : true,
				tbar : voucherPaymentTb,
				bbar : new PG.PagingBar({
							store : paymentViewStore
						})
			});
	return voucherPaymentManagerGrid;
};

// 查询
function queryVoucherPayments() {
	var grid = Ext.getCmp("voucherPaymentManagerGrid");
	var form = Ext.getCmp("queryVoucherPaymentsForm");
	if (form.getForm().isValid()) {
		grid.getStore().load();
	}
}

Ext.getCmp("centerTabPanel").getActiveTab().add(queryVoucherPaymentsSearch(),
		voucherPaymentManagerGrid());
Ext.getCmp("centerTabPanel").getActiveTab().doLayout();
